//go:build wireinject

package main

import (
	"geekbang-go-homework/week04/internal/biz"
	"geekbang-go-homework/week04/internal/conf"
	"geekbang-go-homework/week04/internal/data"
	"geekbang-go-homework/week04/internal/server"
	"geekbang-go-homework/week04/internal/service"
	"geekbang-go-homework/week04/pkg/app"

	"github.com/google/wire"
	"google.golang.org/grpc/grpclog"
)

func initApp(conf *conf.Bootstrap, log grpclog.LoggerV2) (*app.App, func(), error) {
	panic(wire.Build(data.Set, biz.Set, service.Set, server.Set, newApp))
}
